perm filename QQ.SAI[999,BGB]2 blob
sn#021784 filedate 1973-01-25 generic text, type T, neo UTF8
00100 BEGIN "QQ"
00200 REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300
00400 DEFINE CALLI="'047000000000";
00500 DEFINE SWAR ="'043000000000";
00600 DEFINE UPG ="'703000000000";
00700
00800 ITG ARRAY DPYBUF [0:13600];
00900 ITG ARRAY FRAME[0:15];
01000 ITG ARRAY SIZE[0:15];
01100 ITG I,J,FLG;
01200 ITG PTR,SIZ;
01300 STRING FILM;
01400 LABEL L1;
01500
01600 L1: OUTSTR(↓&9&"FILM NAME = ");
01700 FILM ← INCHWL;
01800 PTR ← 0;
01900 α LOAD 'EM UP;
02000 FOR I←1 TO 40 DO OUTSTR(↓);
02100 FOR I←0 STEP 1 UNTIL '17 DO
02200 BEGIN
02300 OPEN(1,"DSK",8,3,0,0,0,0);
02400 LOOKUP(1,FILM&CVOS(I)&".PLT[999,BGB]",FLG);
02500 IF FLG THEN GO L1;
02600 J ← WORDIN(1);
02700 SIZ ← WORDIN(1);
02800 ARRYIN(1,DPYBUF[PTR],SIZ);
02900 RELEASE(1);
03000 FRAME[I]←LOCATION(DPYBUF[PTR]);
03100 SIZE[I]←SIZ;
03200 PTR←PTR+SIZ;
03300 END;
03400
00100 S⊂ "LOOP"
00200 LABEL L0,L1,SA,L2,L3;
00300
00400 α FIRE UP SPACE WAR JOB;
00500 L0: SETZM I;
00600 MOVEI SA;
00700 HRLI '400014;
00800 CALLI '400003;
00810 CALLI '400017;
00900
01000 α SLEEP - PER CHANCE TO DREAM;
01100 L1: MOVEI 1,10;
01200 CALLI 1,'31;
01300 JFCL;
01400 JRST L1;
01500
01600 α SPACE WAR MODULE;
01700 SA: AOS 1,I;CAIL 1,'20;SETZB 1,I;
01800 MOVE 1,I; ADD 1,FRAME; MOVE (1); MOVEM PTR;
01900 MOVE 1,I; ADD 1,SIZE; MOVE (1); MOVEM SIZ;
02000 JRST 3,@L2;L2: L3;L3: UPG PTR;
02100 JFCL;
02200 CALLI '400024;
02300 END;
02400 END "QQ";